#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName  :test.py
# @Time      :2024/4/27
# @Author    :cl  coding
# @email     :

import json
import time

from DrissionPage import ChromiumPage
# import time
# import os
from DrissionPage import ChromiumOptions

co = ChromiumOptions()
# co.headless()  # 无头模式
# 测试  没有vpn也能跑 但是速度很慢  最好用vpn 
# 测试 实测只能输入jpg格式文件才能成功



def get_page(url ='https://www.pixelcut.ai/t/background-remover',filepath=None):

    page = ChromiumPage(co)  # co
    page.refresh()
    page.clear_cache()
    #监听数据接口，该接口返回抠图后的png
    page.listen.start('https://api2.pixelcut.app/image/matte/v1', method='POST')
    page.get(url,timeout=10) # 打开网页
    # print (page.html)
    try:
        # 测试，DrissionPage 成功率最高的是根据xpath寻找元素
        elea = page.ele('xpath://*[@id="root"]/div[2]/div/div/div/div/main/div/div/div[2]/div')  # 获取第一个textarea元素
        print(str(elea.html)) # 打印元素的方法

        # 定位到文件输入框
        file_input = page.ele('xpath://*[@id="root"]/div[2]/div/div/div/div/main/div/div/div[2]/input')
        print(str(file_input.html))
        # 传递文件路径
        file_input.input(filepath)
        """
        #经实践 该方法对本网站失效
        # 设置要上传的文件路径
        # # 点击按钮
        # button = page.ele('xpath://*[@id="root"]/div[2]/div/div/div/div/main/div/div/div[2]/div/div[1]/button[1]')
        # page.set.upload_files('9762029.jpg')
        # # 点击触发文件选择框按钮
        # button.click()
        """
        # # 等待路径填入
        page.wait.upload_paths_inputted()
        # # 等待页面加载完成
        res = page.listen.wait(timeout=20)  # 等待并获取一个数据包
        if res :
            print(res)
            # #解析数据
            data = res.response.body
            # print(data)
            # 保存data为图片 1.png
            with open('run1.png', 'wb') as f:
                f.write(data)
        else:
            print('没有获取到数据')


        time.sleep(10)

    except Exception as e:
        print(e)
    page.close()


def main():
    #重复调用,遍历文件，不停打开网页
    while True:

        get_page(filepath ='9762029.jpg')

        break

if __name__ == '__main__':
    print()

    main()